package com.github.zzay.care.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.zzay.care.dto.EmployeeDto;
import com.github.zzay.care.entity.Employee;

import java.util.List;

/**
 * @author zzay
 * @interfaceName EmployeeService
 * @description Service interface class for entity "Employee"
 * @create 2022/07/07 00:06
 * @see com.github.zzay.care.service.impl.EmployeeServiceImpl
 */
public interface EmployeeService extends IService<Employee> {

    /**
     * Delete an employee's information.
     *
     * @param idCard ID card number
     * @return Operation result
     */
    Boolean deleteInfo(String idCard);

    /**
     * Update an employee's information.
     *
     * @param employeeDto Employee DTO
     * @return Operation result
     */
    Boolean updateInfo(EmployeeDto employeeDto);

    /**
     * Get all information.
     *
     * @return A list of all information
     */
    List<EmployeeDto> getAll();

    /**
     * Get an employee's information with the given id card number.
     *
     * @param idCard ID card number
     * @return Employee's information
     */
    EmployeeDto getInfoById(String idCard);

    /**
     * Get an employee's information with the given name.
     *
     * @param name Name
     * @return Employee's information
     */
    EmployeeDto getInfoByName(String name);

}
